package com.woniuxy.entity.po.operations;

import java.io.Serializable;

import com.woniuxy.entity.dto.operations.ClientDetailDTO;
import com.woniuxy.entity.dto.operations.ClientDisplayDTO;
import com.woniuxy.entity.dto.operations.ClientForCardSelectDisplayDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

/**
 * 客户管理表
 * @TableName client
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Client implements Serializable {
    /**
     * 用户 ID（主键）
     */
    private Long id;

    /**
     * 用于前端显示的编号
     */
    private String clientNum;

    /**
     * 客户名称
     */
    private String clientName;

    /**
     * 登录账号
     */
    private String username;

    /**
     * 用户密码
     */
    private String password;

    /**
     * 图片地址
     */
    private String imgSrc;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 客户类型（1-个人普通用户, 2-公司合作用户）, dictionary_id
     */
    private Long clientTypeId;

    /**
     * 各自类别下的id
     */
    private Long clientTypeKey;

    /**
     * 类型名
     */
    private String clientTypeValue;

    /**
     * 账户类型(1-预付费, 2-后付费, 3-月结算付费, 4-年结算付费), dictionary_id
     */
    private Long accountTypeId;

    /**
     * 各自类别下的id
     */
    private Long accountTypeKey;

    /**
     * 类型名
     */
    private String accountTypeValue;

    /**
     * 持有汽车的数量
     */
    private Integer holdCarNum;

    /**
     * 是否禁用该用户 (1-正常使用状态, 0-禁用状态)
     */
    private Integer clientCondition;

    /**
     * 是否持卡
     */
    private Integer handleCardOrNot;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 逻辑删除 (1-正常, 0-删除)
     */
    private Integer clientStatus;

    private static final long serialVersionUID = 1L;

    public Client(ClientDetailDTO clientDetailDTO) {
        BeanUtils.copyProperties(clientDetailDTO, this);
    }

}